Method and apparatus for temporal wavelet compression

ABSTRACT

A system is described that comprises a method and apparatus for further compressing an already compressed data stream, using a mathematical exclusive-OR computation. The method comprises: receiving a data stream that has been compressed using a first compression protocol; decompressing the data stream using the first compression protocol; reducing temporal redundancy in the data stream using an exclusive-OR comparison protocol; and recompressing the data stream using the first compression protocol. The apparatus comprises: a decompression unit to receive and decompress a compressed data stream to produce decompressed data; an exclusive-OR comparison unit, coupled to the decompression unit, to perform a mathematical exclusive-OR operation on the decompressed data to produce resultant data; and a recompression unit to compress the resultant data to produce a further compressed data stream.

CROSS-REFERENCE TO RELATED APPLICATION(S)

[0001] This application is related to and claims priority to U.S.provisional application entitled TEMPORAL WAVELET COMPRESSION ALGORITHMhaving serial No. 60/275,113, by Joseph P. Vidunas, filed Mar. 13, 2001and incorporated by reference herein.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention is directed to data compression and, moreparticularly to further compression of already compressed video.

[0004] 2. Description of the Related Art

[0005] Image (e.g., video) data is often compressed or processed byusing wavelet analysis. Wavelets are mathematical functions that cansegment a digital signal into different frequency bands. Wavelets havesome advantages over Fourier transforms, but are roughly analogous.Known compression systems convert raw image data into wavelet transformdata, then run-length encode or Hoffman encode the data.

[0006] Lossy compression provides high degrees of compression andresults in very small compressed files, but there is a certain amount ofloss when they are restored (cf. lossless compression, which does notprovide as high a degree of compression, but which does not result inany loss upon restoration). Wavelet compression is a lossy compressionmethod used for color images and video. Instead of compressing smallblocks of 8×8 pixels as in JPEG and MPEG compression methods, thewavelet algorithms compress the entire image with ratios of up to 300:1for color and 50:1 for gray scale. An example of a codec that performswavelet compression is the ADV601 from Analog Devices, Inc. of Norwood,Mass.

[0007] Another known way to compress video is by reducing temporalredundancy using an exclusive-OR (XOR) comparison, an example of whichis illustrated in FIG. 1. In FIG. 1, previous frame 101 and currentframe 102 are individual, successive frames within a video stream. Eachcell of the matrices that form frames 101 and 102 in FIG. 1 (e.g., cells104 to 111) represents a wavelet coefficient. Upon performing an XORoperation on frames 101 and 102, resultant matrix 103 is produced, whichcontains cells (e.g., 112-115) corresponding to the cells in the sameposition in frames 101 and 102, the contents of which are the result ofan XOR operation on the corresponding cells in frames 101 and 102. Forexample, an XOR operation is performed on the contents of cells 104 and108 which have a value of ‘0’ to produce a ‘0’ result in cell 112. Thesame result is produced in cells 113-115 when an XOR operation isperformed on cells 105 and 109, 106 and 110, and 107 and 111,respectively, because the contents of the corresponding pairs of cellsin frames 101 and 102 are identical. Upon performing an XOR operation oncells of frames 101 and 102 with differing contents, such as cells 116and 117, which contain a ‘0’ and ‘1,’ respectively, a‘1’ results in box118 of matrix 103.

[0008] XOR comparison is useful in video streams where each video frameimage is usually the same (e.g., security cameras). XOR comparison canbe used to dramatically reduce the size of the compressed file becauseeach box of each frame is usually identical to the same box in asubsequent frame, and can therefore be compressed accordingly. However,it is not possible to perform XOR comparison after known waveletcompression of a video stream, like that performed by the ADV601,without reversing the run-length and Huffman encoding to obtain accessto the wavelet coefficients.

SUMMARY OF THE INVENTION

[0009] It is an aspect of the present invention to provide a method andapparatus to perform a mathematical exclusive-OR operation on thewavelet data from sequential frames of a data stream at the quantizedcoefficient layer across each of the wavelet frequency bands. It isanother aspect of the present invention to selectively apply the resultsof a mathematical exclusive-OR operation where the gain thereby isdetermined to be significant.

[0010] The above aspects can be attained by a method for furthercompressing an already compressed data stream, using a mathematicalexclusive-OR computation by receiving a data stream that has beencompressed using a first compression protocol; decompressing the datastream using the first compression protocol; reducing temporalredundancy in the data stream using an exclusive-OR comparison protocol;and recompressing the data stream using the first compression protocol.

[0011] The method can be performed by an apparatus having adecompression unit to receive and decompress a compressed data stream toproduce decompressed data; an exclusive-OR comparison unit, coupled tothe decompression unit, to perform a mathematical exclusive-OR operationon the decompressed data to produce resultant data; and a recompressionunit to compress the resultant data to produce a further compressed datastream.

[0012] The decompression and recompression units may share components.For example, the decompression and recompression units may include anentropy (e.g. Huffman) encoding/decoding unit, to receive the compresseddata stream and perform decompression to produce decompressed data and arun-length encoding/decoding unit, coupled with the entropyencoding/decoding unit to decode the decompressed data into quantizeddata that is supplied to the exclusive-OR comparison unit. Therun-length encoding/decoding unit then compresses the resultant datafrom the exclusive-OR comparison unit to produce run-length encodeddata, and the entropy encoding/decoding unit compresses the run-lengthencoded data to produce the further compressed data stream.

[0013] The aspects described above, together with other aspects andadvantages that will be subsequently apparent, reside in the details ofconstruction and operation as more fully hereinafter described andclaimed, reference being made to the accompanying drawings forming apart hereof, wherein like numerals refer to like parts throughout.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014]FIG. 1 is an example of a conventional exclusive-OR operation.

[0015]FIG. 2 is a flowchart of a method for temporal waveletcompression, according to embodiments of the present invention.

[0016]FIG. 3 is a block diagram of an apparatus for temporal waveletcompression, according to embodiments of the present invention.

[0017]FIG. 4 is a flowchart of a method for temporal wavelet compressionafter a data stream has already been compressed by an ASIC for waveletcompression, according to embodiments of the present invention.

[0018]FIG. 5 is a block diagram of an apparatus for temporal waveformcompression after a data stream has already been compressed by an ASICfor wavelet compression, according to embodiments of the presentinvention.

[0019]FIG. 6 is a block diagram of a video system with a temporalwavelet compression unit, according to embodiments of the presentinvention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0020] Temporal wavelet compression reduces the data rate of anintra-frame wavelet video stream by applying a mathematical exclusive-OR(XOR) operation on the wavelet data from sequential frames at thequantized wavelet coefficient layer across each of the wavelet frequencybands. This means the XOR operation is applied to all of the waveletbands. The number of wavelet bands can vary in number depending on theintra-frame wavelet component. For example, an off-the-shelf compressionASIC, such as Analog Devices ADV601, used in an embodiment of thepresent invention (see the discussion of FIGS. 4 and 5, below) produces42 wavelet frequency bands. There is no selection of particular waveletbands, unless a frequency band threshold is used as described below (inregard to FIG. 4).

[0021]FIG. 2 is a flowchart of a method for temporal waveletcompression, according to embodiments of the present invention.Specifically, FIG. 2 illustrates method 130, which begins wherequantized data is received 132. The result of the quantization in theintra-frame wavelet process is a matrix of wavelet coefficients roundedto distinct values either preconfigured or calculated by the intra-framewavelet process. An XOR operation is then performed 134 on the quantizeddata. A last frame buffer simply holds 136 the wavelet coefficients fromthe last frame to provide a basis for an XOR comparison. The equationfor the comparison is:

q _(n) [x,y,b]=q _(n) [x,y,b]⊕q _((n−1)) [x,y,b]

[0022] where n is the frame number and q is a quantized waveletcoefficient at a point determined by pixel locations x and y in thewavelet band corresponding to value b. The XOR operation was chosen forthe comparison for the following reasons: (1) it results in a zero valueif the coefficients in sequential frames are the same; (2) it will notoverflow the double byte capacity of the wavelet coefficients; and (3)it is easily reversed in the decode operation by applying the exact sameequation and (4) XOR can be calculated by Pentium II class processors inonly one clock cycle.

[0023] Application of temporal wavelet compression produces a temporalwavelet frame in which the quantized value at a particular band,horizontal, and vertical position is equal to the result of an XORoperation between itself and the corresponding value in the previousframe. Since the quantized wavelet coefficients are very similar fromframe to frame in the average security video scene, the mathematical XORoperation will result in a zero value in more than 98% of theoperations. Conventional run-length encoding is then applied 138 tothese primarily zero values to produce a significant data reduction fromthe original frame. Further, the data is entropy encoded 140.

[0024]FIG. 3 is a block diagram of an apparatus for temporal waveletcompression, according to embodiments of the present invention.Specifically, FIG. 3 illustrates XOR comparison unit 150, which iscoupled to receive quantized data. In an embodiment, XOR comparison unit150 performs the XOR operation described above. Last frame buffer 152holds the wavelet coefficients from the last frame to provide a basisfor an XOR comparison. Run-length encoding unit 154 is coupled with XORcompression unit 150, and encodes the XOR-compressed data. Entropyencoding unit 156 is coupled with run-length encoding unit 154, andencodes the run-length encoded data. In an embodiment, entropy encodingunit 156 is a Huffman encoding unit. The run-length and entropy encodingcan be performed according to conventional protocols.

[0025]FIG. 4 is a flowchart of a method for temporal wavelet compressionafter a data stream has already been compressed by an ASIC for waveletcompression, according to embodiments of the present invention.Specifically, FIG. 4 illustrates method 170, which begins where acompressed data stream is received 172. In an embodiment, the compresseddata stream is received from a compression application-specificintegrated circuit (compression ASIC) (e.g., an ADV601), and is acompressed video stream from a security camera. In this embodiment, thevideo stream is compressed using run-length encoding and entropyencoding. The data stream is then decompressed 173, which, in theembodiment just described, involves reversing the run-length and entropyencoding. A check is made to determine whether a key frame is thecurrent frame received 174. If so, the original frame is copied to anout buffer 175, the wavelet data is stored to a last frame buffer 176,and the out buffer is transmitted 177. If not, a check with outsideconditions is made to determine whether to recalculate the frequencyband compression threshold 178 to determine at what point waveletfrequency bands should be skipped, where the skipped frequency bandshave already been compressed enough using the first compressionprotocol. A threshold is either recalculated 179 or left at is existingvalue.

[0026] A frequency band is selected 180, and then is checked todetermine whether the current frequency band is within the threshold181. If not, the original data is copied to the out buffer 183 (and themethod continues as indicated in FIG. 4). If so, a XOR operation isperformed using the wavelet coefficient data for the current frequencyband from the current frame and the previous frame 182. The frequencyband is then recompressed 184 using the same compression protocol as wasused when received, e.g., run-time and entropy encoding. Raw data afterquantization is generally zero in 60% to 80% of the coefficients. Afterthe additional inter-frame XOR comparison, the percentage increases tobetween 90% and 99%.

[0027] A check is then made to determine whether the XOR-resultant datais further compressed over the received data stream 185. If so, theXOR-resultant data is copied to the out buffer 186. If not, the originaldata is copied to the out buffer 183.

[0028] A check is made to determine whether all frequency bands arecomplete 187. If not, another band is selected 180 (and the methodcontinues as indicated in FIG. 4). If so, the wavelet data is stored toa last frame buffer 176, and the out buffer is transmitted 177. In anembodiment, the result of method 170 is transmitted. In an embodiment,the result of method 170 is stored.

[0029] As noted above, off-the-shelf components, which may includecompression ASIC such as an ADV601, are used in the presentimplementation to perform the conventional intra-frame waveletcompression. Since these components completely encode the data, therun-length and entropy encoding are reversed to obtain quantized datafor temporal wavelet compression. The present invention takes advantageof knowing the results of the conventional intra-frame waveletcompression to make a determination of how well each wavelet band hasbeen compressed in the run-length and entropy encoding steps. A ratio ofthe size of the encoded data to the raw quantized data is compared to afrequency band compression threshold to determine if the particular bandis already so small that it would be a waste to attempt to compress itany further. The threshold value can be scaled between a useful range ofabout 1-30% to maximize compression or minimize processor usage.

[0030] The frequency band compression threshold parameter allows thealgorithm to be applied selectively to the bands where the highest datarates are found. This allows scaling the compression to minimize datarate or processor utilization depending on the operational environment.

[0031] Applying the Temporal Wavelet Algorithm to the intra-framewavelet stream produces a greatly reduced data rate. In a test ofaverage sample data, this reduction was on the order of 40-60%. Themathematical XOR comparison is very simple and is relatively easy toaccomplish using only software and existing processors. Using highlyoptimized software code, this algorithm can be applied to QCIF waveletframes at an average rate over 100 frames per second on Pentium II classprocessors. The frequency band compression threshold parameter allowsthe algorithm to be applied selectively to the bands where the highestdata rates are found. This allows scaling the compression to minimizedata rate or processor utilization depending on the operationalenvironment.

[0032] Alternative embodiments include using an intra-frame waveletstream with no temporal data reduction, using some other temporalreduction involving perhaps motion estimation, or using another commontemporal compression scheme like the MPEG varieties.

[0033]FIG. 5 is a block diagram of an apparatus for temporal waveletcompression after a data stream has already been compressed by an analogdevice for temporal wavelet compression, according to an embodiment ofthe present invention. Specifically, FIG. 5 illustrates temporal waveletcompression unit 204 (illustrated using dashed lines), which comprisesentropy encoding/decoding unit 190, run-length encoding/decoding unit192, exclusive-OR compression unit 194, and last frame buffer unit 196.Entropy encoding/decoding unit 190 is coupled to unillustratedcomponents to send and receive compressed data, and encodes run-lengthencoded data or decodes entropy encoded data. Run-lengthencoding/decoding unit 192 is coupled with entropy encoding/decodingunit 190, and encodes XOR compared data or decodes run-length encodeddata. Exclusive-OR comparison unit 194 is coupled with run-lengthencoding/decoding unit 192, and performs XOR comparison on a datastream. Last frame buffer unit 196 holds the wavelet coefficients forthe previously processed frame to provide a basis for the XORcomparison. The apparatus illustrated in FIG. 5 is capable of furthercompressing already compressed data received from a compression ASIC byreducing temporally redundant data from the data stream. In anembodiment, entropy encoding/decoding unit 190 is a Huffmanencoder/decoder.

[0034] Embodiments of the present invention may also be incorporatedinto a system. FIG. 6 is a block diagram of a video system with atemporal waveform compression unit, according to embodiments of thepresent invention. Specifically, FIG. 6 illustrates system 199, in whichcomprises video camera 200 is connected to compression ASIC 202;compression ASIC 202 is connected to temporal wavelet compression unit204 (in an embodiment, via memory unit 205 as described below); temporalwavelet compression unit 204 is connected to storage unit 206 (in anembodiment, via memory unit 205 as described below); storage unit 206 isconnected to transmittal unit 208 (in an embodiment, via memory unit 205as described below); and transmittal unit 208 is connected to a network(not shown) for transmission of compressed data to network customers212.

[0035] In an embodiment, video camera 200 is a security camera. In anembodiment, compression ASIC 202 is an ADV601 as previously describedabove. In an embodiment, storage unit 206 is an online IDE hard drive.In an embodiment, transmittal unit 208 is a network interface. In anembodiment, system 199 also comprises memory unit 205, which can be PCSDRAM chips. In an embodiment, system 199 also comprises digitalrecorder 210 (illustrated in FIG. 6 using dashed lines), which comprisescompression ASIC 202, temporal wavelet compression unit 204, storageunit 206, transmittal unit 208, and memory unit 205 (if included insystem 199).

[0036] In an embodiment, system 199 is capable of generating a videosignal, compressing it using entropy and run-length encoding,decompressing it using the same protocols, performing an XOR operationto compress the data, recompressing the XOR-compared data using entropyand run-length protocols, and storing or transmitting the compresseddata. The XOR and entropy/run-length encoded data stream is smaller thanwithout the XOR comparison.

[0037] The chipset included in the system includes memories, processors,and/or ASICs. Such memory includes a machine-readable medium on which isstored a set of instructions (i.e., software) embodying any one, or all,of the methodologies described herein. Software can reside, completelyor at least partially, within this memory and/or within the processorand/or ASICs. For the purposes of this specification, the term“machine-readable medium” shall be taken to include any mechanism thatprovides (i.e., stores and/or transmits) information in a form readableby a machine (e.g., a computer). For example, machine-readable mediainclude read only memory (ROM), random access memory (RAM), magneticdisk storage media; optical storage media, flash memory devices,electrical, optical, acoustical, or other form of propagated signals(e.g., carrier waves, infrared signals, digital signals, etc.), etc.

[0038] The many features and advantages of the invention are apparentfrom the detailed specification and, thus, it is intended by theappended claims to cover all such features and advantages of theinvention that fall within the true spirit and scope of the invention.Further, since numerous modifications and changes will readily occur tothose skilled in the art, it is not desired to limit the invention tothe exact construction and operation illustrated and described, andaccordingly all suitable modifications and equivalents may be resortedto, falling within the scope of the invention.

What is claimed is:
 1. A method for further compressing a compresseddata stream, comprising: receiving a data stream that has beencompressed using a first compression protocol; decompressing the datastream using the first compression protocol; reducing temporalredundancy in the data stream using an exclusive-OR comparison protocol;and recompressing the data stream using the first compression protocol.2. The method as recited in claim 1, further comprising transmitting thedata stream after said recompressing.
 3. The method as recited in claim1, further comprising storing the data stream after said recompressing.4. The method as recited in claim 1, wherein the data stream is receivedas a compressed signal from a security camera.
 5. The method as recitedin claim 1, wherein the first compression protocol includes run-lengthencoding and entropy encoding of quantized data.
 6. The method asrecited in claim 5, wherein the entropy encoding is Huffman encoding. 7.The method as recited in claim 1, wherein the data stream is receivedfrom a compression ASIC.
 8. The method as recited in claim 7, whereinthe compression ASIC is an ADV601.
 9. The method as recited in claim 1,wherein the exclusive-OR comparison protocol includes: for each frame inthe data stream that is not a key frame: determining whether toinitialize a frequency band compression threshold, wherein the thresholdis to indicate at what point wavelet frequency bands should be skipped,where the skipped frequency bands have already been compressed enoughusing the first compression protocol; and determining whether a firstwavelet frequency band is within the threshold, and if so, performing amathematical exclusive-OR operation on the wavelet data at a quantizedwavelet coefficient layer across the first wavelet frequency band. 10.The method as recited in claim 9, wherein the exclusive-OR operation is:qn[x,y,b]=qn[x,y,b]⊕q(n−1)[x,y,b], wherein n is the frame number and qis a quantized wavelet coefficient at a point determined by pixellocations x and y in the wavelet band corresponding to value b.
 11. Themethod as recited in claim 1, further comprising: determining whether arecompressed data stream resulting from said recompressing is furthercompressed than the received data stream; and discarding therecompressed data stream if it is not further compressed than thereceived data stream.
 12. A machine-readable medium storing instructionsto control a machine to perform a method comprising: receiving a datastream that has been compressed using a first compression protocol;decompressing the data stream using the first compression protocol;reducing temporal redundancy in the data stream using an exclusive-ORcomparison protocol; and recompressing the data stream using the firstcompression protocol.
 13. The machine-readable medium as recited inclaim 12, further comprising transmitting the data stream after saidrecompressing.
 14. The machine-readable medium as recited in claim 12,further comprising storing the data stream after said recompressing. 15.The machine-readable medium as recited in claim 12, wherein the datastream is received as a compressed signal from a security camera. 16.The machine-readable medium as recited in claim 12, wherein the firstcompression protocol includes run-length encoding and entropy encodingof quantized data.
 17. The machine-readable medium as recited in claim16, wherein the entropy encoding is Huffman encoding.
 18. Themachine-readable medium as recited in claim 12, wherein the data streamis received from a compression ASIC.
 19. The machine-readable medium asrecited in claim 18, wherein the compression ASIC is an ADV601.
 20. Themachine-readable medium as recited in claim 12, wherein the exclusive-ORcomparison protocol includes: for each frame in the data stream that isnot a key frame: determining whether to initialize a frequency bandcompression threshold, wherein the threshold is to indicate at whatpoint wavelet frequency bands should be skipped, where the skippedfrequency bands have already been compressed enough using the firstcompression protocol; and determining whether a first wavelet frequencyband is within the threshold, and if so, performing a mathematicalexclusive-OR operation on the wavelet data at a quantized waveletcoefficient layer across the first wavelet frequency band.
 21. Themachine-readable medium as recited in claim 20, wherein the exclusive-ORoperation is: qn[x,y,b]=qn[x,y,b]⊕q(n−1)[x,y,b], wherein n is the framenumber and q is a quantized wavelet coefficient at a point determined bypixel locations x and y in the wavelet band corresponding to value b.22. The machine-readable medium as recited in claim 12, furthercomprising: determining whether a recompressed data stream resultingfrom said recompressing is further compressed than the received datastream; and discarding the recompressed data stream if it is not furthercompressed than the received data stream.
 23. An apparatus to furthercompress a compressed data stream, comprising: means for receiving adata stream that has been compressed using a first compression protocol;means for decompressing the data stream using the first compressionprotocol; means for reducing temporal redundancy in the data streamusing an exclusive-OR comparison protocol; and means for recompressingthe data stream using the first compression protocol.
 24. The apparatusas recited in claim 23, further comprising means for transmitting thedata stream after recompressing by said recompressing means.
 25. Theapparatus as recited in claim 23, further comprising means for storingthe data stream.
 26. The apparatus as recited in claim 23, wherein saidreceiving means receives the data stream as a compressed signal from asecurity camera.
 27. The apparatus as recited in claim 23, wherein thefirst compression protocol includes a run-length encoding and an entropyencoding of quantized data.
 28. The apparatus as recited in claim 27,wherein the entropy encoding is Huffman encoding.
 29. The apparatus asrecited in claim 23, wherein the data stream is received from acompression ASIC.
 30. The apparatus as recited in claim 29, wherein thecompression ASIC is an ADV601.
 31. The apparatus as recited in claim 23,wherein said means for reducing temporal redundancy comprises: for eachframe in the data stream that is not a key frame: means for determiningwhether to initialize a frequency band compression threshold, whereinthe threshold is to indicate at what point wavelet frequency bandsshould be skipped, where the skipped frequency bands have already beencompressed enough using the first compression protocol; means fordetermining whether a first wavelet frequency band is within thethreshold; and means for performing a mathematical exclusive-ORoperation on the wavelet data at a quantized wavelet coefficient layeracross the first wavelet frequency band, when the first waveletfrequency band is within the threshold.
 32. The apparatus as recited inclaim 31, wherein said means for performing the mathematicalexclusive-OR operation comprises: means for calculatingqn[x,y,b]=qn[x,y,b]⊕q(n−1)[x,y,b], where n is the frame number, and q isa quantized wavelet coefficient at a point determined by pixel locationsx and y in the wavelet band corresponding to value b.
 33. The apparatusas recited in claim 23, further comprising: means for determiningwhether a recompressed data stream resulting from said recompressing isfurther compressed than the received data stream; and means fordiscarding the recompressed data stream if it is not further compressedthan the received data stream.
 34. An apparatus to further compress acompressed data stream, comprising: a decompression unit to receive anddecompress a compressed data stream to produce decompressed data; anexclusive-OR comparison unit, coupled to the decompression unit, toperform a mathematical exclusive-OR operation on the decompressed datato produce resultant data; and a recompression unit to compress theresultant data to produce a further compressed data stream.
 35. Theapparatus as recited in claim 34, wherein said decompression unitcomprises: an entropy encoding/decoding unit, to receive the compresseddata stream and to decode the compressed data stream to produce decodeddata; and a run-length encoding/decoding unit, coupled to said entropyencoding/decoding unit and said exclusive-OR comparison unit, to furtherdecode the decoded data into quantized data supplied to saidexclusive-OR comparison unit as the decompressed data.
 36. The apparatusas recited in claim 35, wherein the entropy encoding/decoding unit is aHuffman entropy encoder/decoder.
 37. The apparatus as recited in claim35, wherein said recompression unit shares said entropyencoding/decoding and run-length encoding/decoding units with saiddecompression unit by said run-length encoding/decoding unit encodingthe resultant data after said exclusive-OR comparison unit processes thequantized data, to produce encoded data, and said entropyencoding/decoding unit compressing the encoded data to produce thefurther compressed data.
 38. The apparatus as recited in claim 34,wherein said exclusive-OR comparison unit performs the exclusive-ORoperation by calculating qn[x,y,b]=qn[x,y,b]⊕q(n−1)[x,y,b], where n isthe frame number, and where q is a quantized wavelet coefficient at apoint determined by pixel locations x and y in the wavelet bandcorresponding to value b.
 39. The apparatus as recited in claim 34,wherein said decompression unit is further coupled to a compression ASICto receive the compressed data stream.
 40. The apparatus as recited inclaim 39, wherein the compression ASIC is an ADV601.
 41. The apparatusas recited in claim 34, further comprising a last frame buffer unit,coupled to said exclusive-OR comparison unit, to store the previousframe data.
 42. A system to create and compress video data, comprising:a video unit to create video data; a compression ASIC, coupled to saidvideo camera, to compress the video data using a first compressionprotocol; a temporal wavelet compression unit, coupled to saidcompression ASIC, to decompress the video data into reconstituted video,to reduce temporal redundancy in the reconstituted video using anexclusive-OR protocol, and recompress the reconstituted and temporallyreduced video using the first protocol to produce further compressedvideo data; and a storage unit, coupled to said temporal waveletcompression unit, to store the further compressed video data.
 43. Thesystem as recited in claim 42, wherein said system is connectable to anetwork, and wherein said system further comprises a network interfacecoupled to said storage unit and the network, to transmit the furthercompressed video data over the network.
 44. The system as recited inclaim 42, wherein the first compression protocol includes run-lengthencoding and entropy encoding of quantized data.
 45. The system asrecited in claim 44, wherein the entropy encoding is Huffman encoding.46. The system as recited in claim 42, wherein the compression ASIC isan ADV601.